import 'dart:convert';

// 函数：将JSON字符串转换为ProductModel对象
ProductModel productModelFromJson(String str) =>
    ProductModel.fromJson(json.decode(str));

// 函数：将ProductModel对象转换为JSON字符串
String productModelToJson(ProductModel data) => json.encode(data.toJson());

// ProductModel类，表示产品模型
class ProductModel {
  List<Result> result; // 结果列表

  // 构造函数
  ProductModel({
    required this.result, // 结果列表
  });

  // 工厂方法：从JSON创建ProductModel对象
  factory ProductModel.fromJson(Map<String, dynamic> json) => ProductModel(
        result: List<Result>.from(
            json["result"].map((x) => Result.fromJson(x))), // 从JSON中获取结果列表
      );

  // 方法：将ProductModel对象转换为JSON
  Map<String, dynamic> toJson() => {
        "result":
            List<dynamic>.from(result.map((x) => x.toJson())), // 将结果列表转换为JSON
      };
}

// Result类，表示结果模型
class Result {
  String id; // ID
  String title; // 标题
  String cid; // 类别ID
  dynamic price; // 价格
  dynamic oldPrice; // 原价
  String pic; // 图片
  String sPic; // 小图片

  // 构造函数
  Result({
    required this.id, // ID
    required this.title, // 标题
    required this.cid, // 类别ID
    required this.price, // 价格
    required this.oldPrice, // 原价
    required this.pic, // 图片
    required this.sPic, // 小图片
  });

  // 工厂方法：从JSON创建Result对象
  factory Result.fromJson(Map<String, dynamic> json) => Result(
        id: json["_id"], // 从JSON中获取ID
        title: json["title"], // 从JSON中获取标题
        cid: json["cid"], // 从JSON中获取类别ID
        price: json["price"], // 从JSON中获取价格
        oldPrice: json["old_price"], // 从JSON中获取原价
        pic: json["pic"], // 从JSON中获取图片
        sPic: json["s_pic"], // 从JSON中获取小图片
      );

  // 方法：将Result对象转换为JSON
  Map<String, dynamic> toJson() => {
        "_id": id,
        "title": title,
        "cid": cid,
        "price": price,
        "old_price": oldPrice,
        "pic": pic,
        "s_pic": sPic,
      };
}
